// 1. 引入二次封装过的axios
import request from '@/utils/request'
import type { TrademarkListDataModel, TrademarkModel } from './interface/trademarkModel'

// 使用枚举将常用的数据进行进一步的设置 后期使用的时候，直接从枚举中来获取即可
enum Api {
  // 获取品牌数据
  getTrademarkListApi = '/admin/product/baseTrademark',
  // 添加品牌
  saveTrademarkApi = '/admin/product/baseTrademark/save',
  // 删除品牌
  deleteTrademarkApi = '/admin/product/baseTrademark/remove',
  // 更新品牌
  updateTrademarkApi = '/admin/product/baseTrademark/update'
}

/**
 * 2. 获取品牌列表数据
 * @param page 当前页码
 * @param limit 每页显示的数量
 * @returns 
 */
export const reqGetTrademarkList = (page: number, limit: number) => {
  return request.get<any, TrademarkListDataModel>(`${Api.getTrademarkListApi}/${page}/${limit}`)
}

/**
 * 3. 添加品牌数据
 * @param trademarkInfo 
 * @returns 
 */
export function reqSaveTrademarkInfo(trademarkInfo: TrademarkModel) {
  return request.post<any, null>(Api.saveTrademarkApi, trademarkInfo)
}

/**
 * 4. 删除品牌数据
 * @param id 品牌的id
 * @returns 
 */
export function reqDeleteTrademarkInfo(id: number) {
  return request.delete<any, null>(Api.deleteTrademarkApi + `/${id}`)
}

/**
 * 5. 更改品牌数据
 * @param trademarkInfo 
 * @returns 
 */
export const reqUpdateTrademarkInfo = (trademarkInfo: TrademarkModel) => {
  return request.put<any, null>(Api.updateTrademarkApi, trademarkInfo)
}